//
//  TableViewController.m
//  UIComprehensive
//
//  Created by lanou3g on 16/1/27.
//  Copyright © 2016年 徐强. All rights reserved.
//

#import "TableViewController.h"
#define CELLID @"cell_tableView"
@interface TableViewController ()<UITableViewDataSource,UITableViewDelegate>

@end

@implementation TableViewController
#pragma mark - 懒加载
-(UITableView *)tableView{
    if (!_tableView) {
        _tableView = [[UITableView alloc]initWithFrame:([UIScreen mainScreen].bounds) style:UITableViewStyleGrouped];
        //属性：
        //行高
        //_tableView.rowHeight = 150;
        //分割线颜色
        _tableView.separatorColor = [UIColor redColor];
        //分割线样式
        _tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
        [self.view addSubview:_tableView];
    }
    return _tableView;
}
- (NSMutableArray *)arrAllData{
    if (!_arrAllData) {
        _arrAllData = [NSMutableArray array];
    }
    return _arrAllData;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self getData];
    [self setDelegate];
}
- (void)setDelegate{
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    //cell的注册
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:CELLID];
    self.title = @"UITableview";
}

#pragma mark - 获取本地数据
- (void)getData{
    NSString *filePath = [[NSBundle mainBundle]pathForResource:@"Student" ofType:@"plist"];
    self.arrAllData = [NSMutableArray arrayWithContentsOfFile:filePath];
}
#pragma mark - UITableViewDataSource代理方法:(这两个)必须实现
//返回行数
- (NSInteger )tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return [self.arrAllData[section] count];
}
//返回组数
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 2;
}
//返回cell内容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    //重用标示（是一个集合）
    //先去容器找，使用存储的未用的cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CELLID forIndexPath:indexPath];
    NSDictionary *dic = self.arrAllData[indexPath.section][indexPath.row];
    cell.textLabel.text = dic[@"name"];
    cell.detailTextLabel.text = dic[@"tel"];
    cell.imageView.image = [UIImage imageNamed:dic[@"picture"]];
    //背景颜色
    cell.contentView.backgroundColor = [UIColor orangeColor];
    //提示
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    return cell;
}
#pragma mark - UITableViewDelegate代理方法
//行高
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 80;
}
//已经选中某一行，点击某一行时触发
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@"点击的是第%ld组的第%ld行",indexPath.section,indexPath.row);//组，行
}
//头视图高度 (必须要设置才会显示第一栏的头视图内容)
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 50;
}
//头视图内容
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 200, 30)];
    label.text = [NSString stringWithFormat:@"%c",65+section];
    return label;
}
//索引栏
- (NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView{
    NSArray *arr = @[@"A",@"B",@"C",@"D",@"E"];
    return arr;
}



@end
